1. Field of the Invention
The present invention relates to improvements in managing distributed applications. In particular, it relates to and involves improvements in managing remote function calls and other tools for managing the remote invocation and control of programs.
2. Description of the Related Art
Today, many enterprises and authorities extensively use computer program applications running on a variety of different platforms and accessing for example a common datapool from a plurality of remote locations, spread all over a country, or even all over the world. Complex integrated solutions are often accessed by end-user-associated front-end applications as well as by systems management software. Thus, a commonly found situation is that many applications, even a plurality of them within systems management software, communicate with one or more centralized application servers located more or less centrally in a respective portion of a network.
From the programmer's point of view the interconnections between applications running on remote computers are commonly implemented by so-called remote function calls (RFCs). An RFC specifies all information it needs for such a communication. Any communication which happens needs an associated connection interconnecting the respective computer systems and the respective processes. There is in each connection some overhead data which is just needed for pure traffic purposes.
For example, and with reference to FIG. 1 (prior art), in the program combination of systems management software and an integrated business application, the systems management software has several applications 10, 11, 12, 13 for the business application environment on platforms 15, 16 in the market. Some of them are standalone applications, e.g. 11, others are tools used by other applications, e.g. 10. All applications 10 to 13 establish a separate communication to an integrated business application system via RFC, but each one is designed for a special purpose: One application has to call the integrated business application every minute, another might call it only once a day. This implies a different programming logic, which has to be done by the application itself.
In particular, each systems management software application opens an RFC connection to an integrated business application system. Every connection 17, 18, 19, 20 is always closed after the RFC call is done, except connections which are held active every time, by system logging tools for example, for traffic monitoring purposes. It should be added that the systems management software applications can physically run all on one machine or on separate machines.
The systems management software application(s) are referred to herein as requestor applications because they often aim to request some, for example confirmatory, systems management data. It should be further noted that the business application may run on a plurality of different remote systems. It is thus referred to as a remote system application.
An example of commercially available systems management software is the program product Tivoli manufactured by Lotus Corp.; an example of an integrated business application is the program product R/3 by SAP AG.
The approach briefly sketched out above is found repeatedly in many other situations such that the following disadvantages have a quite general nature. They are not restricted to a specific product combination.
First, a library explicitly dedicated to inter-application management, and in particular for RFC, is provided by each integrated business application program. There may be, however, multiple versions of the program's RFC library on one machine. This can cause run time problems at least on usual personal computer platforms, like for example a Windows NT platform. This is because an RFC library is shipped together with all products which open RFC connections. Therefore there are multiple RFC libraries on one machine which has multiple systems management software (or other applications) installed. In some cases different versions of an RFC library are installed, and they are in fact not compatible. Experience shows that unpredictable RFC errors or even traps occur. The reason is that the correct RFC library will not be loaded when one RFC library is already used by other programs.
Second, systems management software applications which have to query information from the integrated business application system in short time intervals open and close a RFC connection frequently. This is a time-consuming task, mainly because of authorization checks in the integrated business application system during a logon procedure. For example, each time a connection is opened a new authorization check is performed. The authorization check and the opening of the connection causes an enormous performance problem when RFC calls which open and close a connection are frequently called.
Third, duplicate, or in general, multiple coding has to be done for connecting to an integrated business application from within each single application connecting thereto. Especially the error handling of the RFC calls is always the same, but has to be programmed each time again.
Fourth, the administration of the connections, i.e., the management of connection handles or similar mechanisms has to be done in each application. This is much work and costs performance.
Finally, any new programmed application must always include the same coding again from scratch for opening an RFC connection, calling RFC, closing the RFC connection, and error handling for all of the above.
Thus, dependent on the relationship between the amount of use data and traffic management data this may represent a significant overhead that is an obstacle to good performance as well as efficient program development.
It is thus an objective of the present invention to provide for improvements in regard of the above mentioned problems.